A telecommunications network architecture is known comprising a switching system for effecting basic call processing to set up, maintain and clear calls, and service-providing means communicating with said switching system for providing services additional to said basic call processing; examples of such additional services are:
______________________________________ 3-way calling private virtual networks call screening call blocking call forwarding wake-up calls call waiting Freephone/Teleinfo televoting calling name delivery 800 number lookup speed dialing Yellow pages plus universal personal telephone Account card/credit card calling number translation network automatic call distribution ______________________________________
The switching system of such an arrangement generally treats a call as comprising two or more call portions (also known as "segments") and is operative to set-up, maintain and clear the or each such call portion. Thus where the switching system comprises more than one switching centre or point, a call will typically be treated as having an originating and terminating call portion in each switching centre; of course, even with such an arrangement, the call can be considered at a higher level as consisting of only one portion. To interface the basic call-processing functionality of the switching system with the service-providing means, the switching system is provided with interface means. These interface means enable the switching system to request service provision from the service-providing means in respect of a particular call portion, and to report to the service-providing means on progress through the process of set-up, maintenance and clearance of that call portion, and also enable said service-providing means to influence that process according to the service being provided by the service-providing means.
One such prior art telecommunications network architecture known as AIN (Advanced Intelligent Network) has been proposed by Bellcore and is described in detail in the following and other documents:
Advanced Intelligent Network Release 1 Network & Operations Plan, Bellcore Special Report SR-NPL-001623, Issue 1, June 1990, PA1 Advanced Intelligent Network Release 1 Switch--Service Control Point (SCP) Application Protocol Interface General Requirements, Bellcore Technical Advisory. TA-NWT-001126 Issue 1, May 1991. PA1 first service logic means for normally providing said services to the switching centre, PA1 second service logic means for providing said services to the switching centre in the event of failure of said first service logic means, PA1 recovery means responsive to failure of said first service logic means to bring into operation said second service logic means, and PA1 a backup store, PA1 first service logic means for normally providing said services to the switching centre, PA1 second service logic means for providing said services to the switching centre in the event of failure of said first service logic means, PA1 recovery means responsive to failure of said first service logic means to bring into operation said second service logic means, and PA1 a backup store, PA1 said interface means is operative to report to the service providing means when set-up of the corresponding call portion is at least substantially complete; and PA1 said service providing means comprises first service logic means for normally providing said services to the switching system, second service logic means for providing said services to the switching system in the event of failure of said first service logic means, recovery means responsive to failure of said first service logic means to bring into operation said second service logic means, and a backup store; said first service logic means being operative to save, to said backup store, call-portion related data held by the first service logic means on the or each call portion for which it is currently providing services, this backup being effected in respect of a said call portion only after said interface means of the switching system has reported that set-up of that call portion has been at least substantially completed, and said second service logic means, on being brought into operation, being provided from said backup store with the said call-portion related data needed to continue to provide requested services on current call portions.
The description of an embodiment of present invention contained in this specification is set in the context of an AIN network and accordingly reference is directed to the above documents for details of the implementation of the overall network architecture in relation to the described embodiment of the invention. However, to facilitate an understanding of the present invention without needing to refer to the above documents, certain important aspects of an AIN network are described herein with reference to FIGS. 1 to 9, these Figures being based on those appearing in the Bellcore documents. It is to be understood that the present invention is capable of application in environments other than an AIN network, as long as the telecommunications network functions in the usual way as defined on page 1-5 of the above-identified Bellcore Technical Advisory TA-NWT-001126. That is, the telecommunications network must provide the capability to `user` entities external to the network to exchange information with other users and with the network.
For the purposes of the present introduction, a brief overview of the general AIN architecture will now be given with reference to FIG. 1 of the accompanying drawings.
In the FIG. 1 network, basic call processing (that is, call setup, maintenance and clearance) is carried out by one (or more) service switching points SSP 10 to which End Users 11 are connected. Additional services, such as those listed above, are provided, on request, to the SSP 10 either by a service control point (SCP) 12 or an Adjunct 13, both of which are examples of service-providing apparatus (SPA). The Adjunct 13 is directly associated with the SSP 10 whilst the SCP 12 and SSP 10 communicate with each other via a common channel signalling (CCS) network 14 that will typically include signal transfer points (STP) 18. The SCP 12 may be associated with more than one SSP 10. Each SPA (whether the SCP 12 or Adjunct 13) provides a service logic execution environment (SLEE) 15 in which instances of one or more service logic programs (SLP) 16 can execute. The SLEE 15 and SLP 16 together provide service logic functionality for providing services to the SSP 10.
In operation, when the SSP 10 receives a call, it examines internal trigger conditions and, possibly, user information (eg dialled digits) to ascertain if the call requires a service to be provided by an SPA 12, 13; the checking of trigger conditions is carried out at several different points in call processing. Where the SSP 10 determines that a service is required it messages an SPA requesting the desired service and sending it a logic representation of the call in terms of its connectivity and call processing status. The SPA then provides the requested service and this may involve either a single interaction between the SSP and SPA or a session of interactions.
In addition to the SSP 10 and Adjunct 13, the FIG. 1 Network includes an intelligent peripheral (IP) 16 and an operations system (OS) 17. The IP 16 provides resources to the SSP 10 such as voice announcements and DTMF digit collection capabilities. The OS 17 has a general view of the network and its services and performs functions such as network monitoring and control.
Where the network comprises more than one SSP 10 through which a call can be routed, each SSP is preferably provided with the same support resources as the SSP 10 of FIG. 1.
From the foregoing brief overview of an AIN network it will be appreciated that an SPA 12, 13 is an integral part of the network and is therefore subject to similar constraints regarding availability and reliability as the SSP 10 itself. To satisfy these requirements, a fault tolerant architecture is needed for an SPA 12, 13.
One possible solution is to provide low-level (i.e. hardware) fault tolerance where component or subsystem failure is detected and handled; however, such a solution is generally expensive and is slow to benefit from improvements in processor technology.
More attractive therefore, are solutions involving replication of processing capability using general purpose processors. One possible solution of this type would be to use active replication in which multiple processors each run the same processes, receive the same data, and carry out the same processing, a majority voting scheme then being used to determine the processing outcome. Such a solution would, however, be expensive and is only possible if system behaviour is deterministic. Another possible solution using replication of processing capability, is passive replication in which a main processing resource normally carries out processing and then updates a backup processing resource as to the results of processing; in this way, the backup processing resource is continually updated regarding state data and is therefore ready to take over from the main resource should the latter fail. However, an SPA might typically handle a thousand service requests per second. If the SPA has to retain call information for 3 minutes (for example), then at any time it would have information stored (including billing information) for 180,000 calls. It is not practical to transfer out from the main processing means the state data relating to each call whenever the data changes because the number of service requests is too great (it should be noted that when state data changes then either all the state data on the corresponding call must be transferred, or else extra processing must be carried out to identify and log the changes before transferring out only the changes--in either case the resource loading is substantially greater than will generally be needed to transfer back to the SPA the result of the processing that produced the state data changes).
Another possible fault-tolerant architecture would be to provide main and backup processing means as with passive replication but to backup state data from the main processing means to a stable store; should the main processing means fail, the backup processing means is brought into operation and passed the state data held in the backup store. Such an architecture, however, suffers from the same disadvantage noted above in relation to passive replication.
It is an object of the present invention to provide improved fault-tolerant service-providing means.